/*
 * Created on 06-feb-2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.juanfrivaldes.cio2005.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.juanfrivaldes.cio2005.gestion.AutentificarGestionAction;

/**
 * Accion privada.
 * De ella heredan aquellas acciones que requieren autentificacion
 * El atributo destino la idea sería hacer un sistema de autentificacion mas
 * sofisticado que el habitual
 */
public abstract class PrivateAction extends BaseAction {
	

	private static Log log = LogFactory.getLog(PrivateAction.class);

	
		public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		// por seguridad comprobamos que existe un usuario en la sesión
		
		// comprobamos que exista una sesion abierta y el usuario este autentificado
		if(request.getSession(false)==null || request.getSession(false).getAttribute("currentUser")==null){
			request.getSession(true);
			log.trace("Detectado acceso invalido");
			return new ActionForward("/Inicio.do");
		}
		
		return protectedExecute(mapping,form,request,response);

	}
	
	
}
